package com.ocom.payconfig.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ocom.common.entity.payconfig.EntityDishesInfo;
import com.ocom.common.request.payconfig.GetDishesPriceInfoListRequest;
import com.ocom.common.response.payconfig.OrderSummaryVo;
import com.ocom.common.vo.dishes.DishesInfoListVo;
import com.ocom.common.vo.payconfig.GetDishesPriceInfoListVo;

import java.util.List;

public interface DishesInfoService extends IService<EntityDishesInfo> {
    List<EntityDishesInfo> selectDishesInfoList(Long comId, JSONObject jsonObject);

    List<DishesInfoListVo> getAllDishes(Long comId);

    List<DishesInfoListVo> selectDishesInfoList(Long comId, Integer merchId, List<String> classIds, String dishesName, String dishesCode, Integer status);

    EntityDishesInfo selectDishesInfo(Long comId, JSONObject jsonObject);

    EntityDishesInfo insertDishesInfo(Long comId,EntityDishesInfo entityDishesInfo);

    EntityDishesInfo selectUpdateDishes(Long comId, JSONObject jsonObject);

    boolean updateDishesInfo(Long comId,EntityDishesInfo entityDishesInfo);

    EntityDishesInfo selectRemoveDishesDishes(Long comId, Integer merchId, Integer dishesClassId);


    List<EntityDishesInfo> selectDishesInfoList(Long comId);

    EntityDishesInfo sortMax(Long comId, JSONObject jsonObject);

    List<EntityDishesInfo> findByComIdAndDishesId(Long comId, List<Integer> dishesIds);


    List<OrderSummaryVo.DishesList> getDishesList(Long companyId, List<Integer> dishesIds);

    List<GetDishesPriceInfoListVo> getDishesPriceInfoList(Long companyId, GetDishesPriceInfoListRequest getDishesPriceInfoListRequest);
}
